package main

import "fmt"

func main() {
	// 年龄和姓名统一存储
	// var stus map[key类型]value类型
	//var stus map[string]string
	//fmt.Println(stus)

	// 声明并初始化
	// map所有的操作都是基于key完成的，key是无序的，没有连续空间
	//var stus = map[string]string{
	//	"name": "baim0",
	//	"age":  "32",
	//}
	//fmt.Println(stus["name"])
	//fmt.Println(stus["age"])
	//stus["height"] = "180" // 增
	//fmt.Println(stus)
	//stus["height"] = "190" // 改（在的话就改，不在的话就添加）
	//fmt.Println(stus)
	//delete(stus, "height") // 删
	//fmt.Println(stus)

	// 基于make函数进行声明初始化
	// stus2 := map[string]string // map是一个引用类型，没有开辟存储空间，

	// 所以直接打印会报错，直接添加值也会报错
	stus3 := make(map[string]interface{}) //空接口，任意类型
	stus3["name"] = "baim0"
	stus3["age"] = 18
	stus3["gender"] = "male"
	fmt.Println(stus3)

	for k, v := range stus3 {
		fmt.Println(k, v) // 打印的时候是无序的
	}
}
